<?php
/* 
 * modelo de crud
 */

class PC4_Crud_Agencia extends PC4_Crud_Upload {
	
	function __construct($caminho = '', $tabela = 'agencias') {
		parent::__construct($caminho, $tabela);
	}
	/**
	 * Verifica se o email do agente já se encontra cadastrado no banco
	 * @param array $campos
	 * @param int $id
	 * @return array $erros - vazio caso não tenha erros
	 */
	
	function insere($umRegistro){
		$tipos = array("jpg", "jpeg", "gif", "png");
		$umRegistro['imagem'] = $this->trataUpload($umRegistro, 'imagem', $tipos, 2048);
		return parent::insere($umRegistro);
	}
	
	function edita($umRegistro, $id) {
		if(!empty($umRegistro['apaga_arquivo'])){
			$umRegistro['imagem'] = "";
			unset($umRegistro['apaga_arquivo']);
		}
		else{
			if(!empty($umRegistro['imagem']['name'])){
				$tipos = array("jpg", "jpeg", "gif", "png");
				$umRegistro['imagem'] = $this->trataUpload($umRegistro, 'imagem', $tipos, 2048);
			}
			else{
				unset($umRegistro['imagem']); 
			}
		}
		return parent::edita($umRegistro, $id);
	}
	
	function lista($pagina = 1, $limite = 30, $debug = false) {
		$this->db->select('a.*, COUNT(DISTINCT al.id) AS totalImagens');
		$this->db->join('agencias_logomarcas al', 'al.id_agencias = a.id', 'left');
		$this->db->order_by('a.ativo, a.estado, a.cidade, a.nome');
		$this->db->group_by('a.id');
		return parent::lista($pagina, $limite);
	}
	
}
?>